package com.dyzx.hbb.modules.attendance.vo;

import com.dyzx.hbb.modules.attendance.entity.AttendanceLeaveApplication;
import com.fasterxml.jackson.annotation.JsonProperty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

/**
 * 请假申请更新视图对象
 */
@Data
public class AttendanceLeaveApplicationUpdateUVO  {
    // 可以根据需要扩展字段
    // 可以根据需要扩展字段
    @NotNull(message = "请选择请假类型")
     private Long id;




    /**
     * 请假类型分类ID
     */
    @NotNull(message = "请选择请假类型")
    @JsonProperty("category_id")
    private Long categoryId;

    /**
     * 请假类型：默认(1),1-休息，2-请假，3-病假
     */
    @NotNull(message = "请选择请假类型")
    @JsonProperty("type")
    private Integer type;

    /**
     * 请假类型名称
     */
    // private String name;

    /**
     * 开始时间（毫秒级时间戳）
     */
    @NotNull(message = "请选择开始时间")
    @JsonProperty("start_time")
    private Long startTime;

    /**
     * 结束时间（毫秒级时间戳）
     */
    @NotNull(message = "请选择结束时间")
    @JsonProperty("end_time")
    private Long endTime;

    /**
     * 请假天数
     */
    //@NotNull(message = "请输入请假天数")
    //@JsonProperty("leave_days")
    // private Double leaveDays;

    /**
     * 请假小时数
     */
    // @NotNull(message = "请输入请假小时数")
    // @JsonProperty("leave_hours")
    //  private Double leaveHours;

    /**
     * 请假原因
     */
    @NotNull(message = "请输入请假原因")
    @JsonProperty("reason")
    private String reason;

    /**
     * 附件文件ID（多个用逗号分隔）
     */
    @NotNull(message = "请上传附件")
    @JsonProperty("attachment_ids")
    private String attachmentIds;

    /**
     * 审批人ID
     */
    //  private Long approvalUserId;

    /**
     * 审批意见
     */
    //  private String approvalComment;

    /**
     * 审批完成时间（毫秒级时间戳）
     */
    // private Long approvalTime;

    /**
     *  是否已销假：默认(1)1-未销假，2-已销假
     */
    //  private Integer isReturned;

    /**
     * 销假时间（毫秒级时间戳）
     */
    // private Long returnTime;

    /**
     * 销假说明
     */
    //  private String returnComment;
}